package agenda;
 
import java.util.ArrayList;
import sun.applet.Main; 
import java.util.Scanner;
import javax.swing.JOptionPane;

//Classe responsável pelas acessar e modificar contato
public class FuncoesContato {
 
    Scanner read = new Scanner(System.in);
    SalvarAlteracao salvar = new SalvarAlteracao();
    
    //Método responsável por Listar os contatos da memória
    public void ListarContatos()
    {
        int i = 1;
        int count = 0;
        for(Contato contatos: Agenda.contatos_lista)
        {
            count = 1;
            String lista = String.format(
 
                    "\nContato número %d \n" +
 
                    "\nNome: " + contatos.GetName() +
 
                    "\nTelefone: " + contatos.GetNumber() +
 
                    "\nEmail: " + contatos.GetEmail() +
 
                    "\nEndereço: " + contatos.GetEndereco(),i);
            i++;
            JOptionPane.showMessageDialog(null, lista); 
          }
        if (count == 0){
             JOptionPane.showMessageDialog(null, "Não existem contatos na "
                     + "agenda para serem listados.");
        }
        Agenda.menu.escolhas();
 
     }
 
    
    //Método responsável por Pesquisar um contato na memória
    public void PesquisarContatos()
    {
        
        
            String nome = JOptionPane.showInputDialog("\nDigite o nome do contato:");
            int count = 0;
            for(Contato contatos: Agenda.contatos_lista){
                count = 1;
                if (contatos.GetName().equals(nome))
                {
                    String pesquisaContato = String.format(
                            "\n" + "-------" +
                            "\nNome: " + contatos.GetName() +
                            "\nTelefone: " + contatos.GetNumber() +
                            "\nEmail: " + contatos.GetEmail() +
                            "\nEndereço: " + contatos.GetEndereco())+
                            "\n" + "-------\n"; 
                     JOptionPane.showMessageDialog(null, pesquisaContato);} 
            } 
         if (count == 0){
             JOptionPane.showMessageDialog(null, "Não foram encontrados contatos"
                     + " com este nome.");
        }
        Agenda.menu.escolhas();
    }
        // Método responsável em adicionar um contato na memória
        public void AdicionarContato(){
 
            String nome = JOptionPane.showInputDialog("\nDigite o nome do contato: ");
            // read.nextLine();
            String numero = JOptionPane.showInputDialog("\nDigite o número do contato: ");
            // read.nextLine();
            String email = JOptionPane.showInputDialog("\nDigite o email do contato: ");
            // read.nextLine();
            String endereco = JOptionPane.showInputDialog("\nDigite o endereço do contato: ");
            //read.nextLine();
            Agenda.contatos_lista.add(new Contato(nome, numero, email, endereco));
            JOptionPane.showMessageDialog(null, "\nContato Criado com sucesso!\n");
            salvar.Save();
            Agenda.menu.escolhas();
 
    }
 
     // Método responsável em excluir um nome da memória    
    public void ExcluirContato()
    {
        String nome = JOptionPane.showInputDialog(null, "Digite o nome a ser retirado\n\n");
        // = read.nextLine();
        int count = 0;
        for (int i = 0; i < Agenda.contatos_lista.size();i++){
            count = 1;
           if (nome.equals(Agenda.contatos_lista.get(i).GetName())){
               Agenda.contatos_lista.remove(i);
               JOptionPane.showMessageDialog(null, "\nNome Retirado!\n");
           }
        }
        if (count == 0){
             JOptionPane.showMessageDialog(null, "Não foram encontrados contatos"
                     + " com este nome para serem removidos.");
        }
        salvar.Save();
        Agenda.menu.escolhas();
    }
    
}

